/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jili.ubert.clientapi.provider;

import com.jili.ubert.clientapi.until.AnswerHandler;
import com.jili.ubert.code.server2client.MsgResult;
import com.panemu.tiwulfx.common.TableData;
import com.jili.ubert.dao.DBTableName;
import com.jili.ubert.dao.OnDBDataAccpet;
import com.jili.ubert.dao.db.AccountInfo;
import com.jili.ubert.dao.db.AccountInvest;
import java.io.IOException;

/**
 *
 * @author ChengJili
 */
public interface ManagementProvider {
    public int ResetUserPassWord(String userID,String passWord, AnswerHandler<MsgResult> handler) throws IOException;
    public int AddInvestID(String investID,String brokorID, AnswerHandler<MsgResult> handler) throws IOException;
    public int AddInvestID(String investID,String passWord,String brokorID, AnswerHandler<MsgResult> handler) throws IOException;
    public int AddInvestID(AccountInvest invest, AnswerHandler<MsgResult> handler) throws IOException;
    public int DelInvestID(String investID,String brokorID, AnswerHandler<MsgResult> handler) throws IOException;
    public int DelInvestID(AccountInvest invest, AnswerHandler<MsgResult> handler) throws IOException;
    public int CreateAccountCode(String name,String type, AnswerHandler<MsgResult> handler) throws IOException;
    public int CreateAccountCode(AccountInfo acc, AnswerHandler<MsgResult> handler) throws IOException;
    public int AlterAccountCode(AccountInfo acc, AnswerHandler<MsgResult> handler) throws IOException;
//    public MsgResult AccountCode();
    
    public int Save(DBTableName tablename,Object obj, AnswerHandler<MsgResult> handler) throws IOException;
    public int HSQLSave(String hsql, AnswerHandler<MsgResult> handler) throws IOException;
    public int SQLSave(String sql, AnswerHandler<MsgResult> handler) throws IOException;
    public int Update(DBTableName tablename,Object obj, AnswerHandler<MsgResult> handler) throws IOException;
    public int HSQLUpdate(String hsql, AnswerHandler<MsgResult> handler) throws IOException;
    public int SQLUpdate(String sql, AnswerHandler<MsgResult> handler) throws IOException;
    public int Delete(DBTableName tablename,Object obj, AnswerHandler<MsgResult> handler) throws IOException;
    public int HSQLDelete(String hsql, AnswerHandler<MsgResult> handler) throws IOException;
    public int SQLDelete(String sql, AnswerHandler<MsgResult> handler) throws IOException;
    public int Select(DBTableName tablename, String key, AnswerHandler<TableData> handler) throws IOException;
    public int HSQLSelect(String hsql, AnswerHandler<TableData> handler) throws IOException;
    public int SQLSelect(String sql, AnswerHandler<TableData> handler) throws IOException;
}
